<template>
  <div class="cart py-container">
    <!--主内容-->
    <div class="checkout py-container pay">
      <div class="checkout-tit">
        <h4 class="fl tit-txt"><span class="success-icon"></span><span class="success-info">订单提交成功，请您及时付款！订单号：{{pay.orderNo}}</span>
        </h4>
        <span class="fr"><em class="sui-lead">应付金额：</em><em class="orange money">￥{{pay.totalFee}}</em></span>
        <div class="clearfix"></div>
      </div>
      <div class="checkout-steps">
        <div class="fl weixin">微信支付</div>
        <div class="fl sao">
          <p class="red">请使用微信扫一扫。</p>
          <div class="fl code">
            <!-- <img id="qrious" src="~/assets/img/erweima.png" alt=""> -->
            <!-- <qriously value="weixin://wxpay/bizpayurl?pr=R7tnDpZ" :size="338"/> -->
            <qriously :value="pay.codeUrl" :size="338"/>
            <div class="saosao">
              <p>请使用微信扫一扫</p>
              <p>扫描二维码支付</p>
            </div>

          </div>

        </div>
        <div class="clearfix"></div>
        <!-- <p><a href="pay.html" target="_blank">> 其他支付方式</a></p> -->

      </div>
    </div>
  </div>
</template>

<script>

  import orderApi from '@/api/order'

  export default {

    data() {
      return {
        "pay": "",
        // 定时器
        "timer": ""
      }
    },
    created() {
      // 生成二维码
      if(this.$route.params && this.$route.params.orderId) {
        this.generateCode(this.$route.params.orderId);
      }
    },
    mounted() {
      this.timer=setInterval(() => {
        this.checkPayStatus(this.pay.orderNo);
      },3000);
    },
    methods: {
      // 生成支付二维码
      generateCode(orderId) {
        // 校验参数
        if(!orderId) {
          this.$message.error("订单id不能为空");
          return ;
        }
        orderApi.generateCode(orderId)
          .then(res => {
            if(res.data.code==200) {
              this.pay=res.data.data;
            }else {
              this.$message.error(res.data.message);
            }
          });
      },
      // 查询支付状态
      checkPayStatus(orderId) {
        // 校验参数
        if(!orderId) {
          this.$message.error("订单id不能为空");
          return ;
        }
        orderApi.checkPayStatus(orderId)
          .then(res => {
            if(res.data.code==200) {
              if(res.data.data.status && (res.data.data.status==2 || res.data.data.status==3)) {
                // 清除定时器
                if(this.timer) {
                  clearInterval(this.timer);
                }
                this.$message({
                  message: '支付成功，即将跳转回课程详情页',
                  type: 'success'
                });
                setTimeout(() => {
                  this.$router.push({"path": `/course/${this.pay.courseId}`})
                },3000);
              }
            }else {
              this.$message.error(res.data.message);
            }
          });
      }
    },
    destroyed() {
      // 页面销毁方法
      // 清除定时器
      if(this.timer) {
        clearInterval(this.timer);
      }
    }
  }

</script>
